#include <stdio.h>
#include <stdlib.h>
#include <acev/rcu.h>
#include<signal.h>

main()
{
        // Marker f"ur Zeitmessung
        unsigned long long start, stop, rcu_get_ticks();
        // Zeiger auf RC-Adressraum
        volatile unsigned long *rc;

        // TODO Hier weitere Variablen definieren
        // **** ...

        // TODO Hier Eingabedaten lesen
        // **** ...

        // RC initialisieren
        rcu_init();
        // Zeiger auf RC-Adressraum holen
        rc = rcu_get_s0(NULL);

        // Merke Startzeit der Berechnung
        start = rcu_get_ticks();
        
        // TODO Hier Daten bearbeiten
        // **** ...

        printf("teile 8 durch 3");
        rc[3] = 0x00000008;
				rc[0] = 0x00000003;
				printf("\r\n");
        printf("quot = %08x\n", rc[2]);
				printf("remd = %08x\n", rc[1]);
		
			printf("ergebnis (codiert) = %08x\n", rc[4]);


				printf("teile 11 durch 2");
        rc[3] = 0x0000000B;
				rc[0] = 0x00000002;
				printf("\r\n");
        printf("quot = %08x\n", rc[2]);
				printf("remd = %08x\n", rc[1]);
				printf("ergebnis (codiert) = %08x\n", rc[4]);

        // merke Stopzeit
        stop = rcu_get_ticks();

        // TODO Hier Ausgabedaten schreiben
        // **** ...
        
        // Gebe Ergebnis der Zeitmessung in Mikrosekunden aus
        printf("Zeit: %lld us\n", (stop-start)/TICKS_PER_USEC);
}
